
var pathName = window.location.pathname.substring(1);
var webName = pathName == '' ? '' : pathName.substring(0, pathName.indexOf('/'));
var basePath = window.location.protocol + '//' + window.location.host + '/' + webName + '/';
function reloadCheckImg()
{
    var src = "/help/getVerifyCode?" + new Date().getTime(); //加时间戳，防止浏览器利用缓存
    $("#login_authCode_img").attr("src", src);
}
function register() {
    $("#registerDialog input").val("");
    //为单选按钮赋值
    $("#userInfo_user_sex_header :radio:first").val("1");
    $("#userInfo_user_sex_header :radio:last").val("0");
    $("#registerDialog textarea").val("");
    $("#registerDialog img").attr("src","");
    $('#registerDialog').modal('show');
}


//提交添加用户信息
function ajaxRegister() {
    //提交之前先验证表单
    $("#registerForm").data('bootstrapValidator').validate();
    if(!$("#registerForm").data('bootstrapValidator').isValid()){
        return;
    }
    jQuery.ajax({
        type : "post",
        url : basePath + "UserInfo/add",
        dataType : "json" ,
        data: new FormData($("#registerForm")[0]) ,
        processData: false,   // jQuery不要去处理发送的数据
        contentType: false,
        success : function(obj) {
            if(obj.success){
                alert(obj.message);
                $("#registerForm").find("input").val("");
                $("#registerForm").find("textarea").val("");
                $('#registerDialog').modal('hide');
                window.location.href="index.jsp";

            } else {

                alert(obj.message);
            }
        }
    });
}

function login() {
    $("#loginDialog input").val("");
    $('#loginDialog').modal('show');
    //reloadCheckImg();

}

function ajaxLogin() {
    /*登录之前要先验证表单数据*/
    $("#loginForm").data('bootstrapValidator').validate();
    if(!$("#loginForm").data('bootstrapValidator').isValid()){
        return;
    }
    $.ajax({
        url : basePath + "UserInfo/frontLogin",
        type : 'post',
        dataType: "json",
        data : {
            "login_username" : $('#login_username').val(),
            "login_password" : $('#login_password').val(),
        },
        success : function (obj, response, status) {
            if (obj.success) {

                location.href = "/index.jsp";
            } else {
                alert(obj.message);
            }
        }
    });
}
$(function() {

    loginFormValidator();
    //登录表单点击叉号。仍然保持验证状态：验证销毁重构
    $('#loginDialog').on('hidden.bs.modal', function() {
        $("#loginForm").data('bootstrapValidator').destroy();
        $('#loginForm').data('bootstrapValidator', null);
        loginFormValidator();
    });

    registerFormValidator();
    //解决注册表单叉掉后，保持验证状态
    $('#registerDialog').on('hidden.bs.modal', function() {
        $("#registerForm").data('bootstrapValidator').destroy();
        $('#registerForm').data('bootstrapValidator', null);
        registerFormValidator();
    });

    /*发送短信验证码*/
    $("#userSmsSend").click(function () {
        var tel = $("#userInfo_user_tel_header").val();
        $.ajax({
            url : basePath + "UserInfo/sendSms",
            type : 'get',
            dataType: "json",
            data : {
                "userTel" :tel,
            },
            success : function (obj, response, status) {
                //console.log(obj);
                if (obj.success) {
                    $("#userSmsSend").removeClass("btn-default");
                    $("#userSmsSend").addClass("btn-success");
                    $("#userSmsSend").text("五分钟内有效");
                    $("#userSmsTel").val(tel);
                } else {
                    alert(obj.message);
                }
            }
        });

    });

    /*小屏幕导航点击关闭菜单*/
    $('.navbar-collapse a').click(function(){
        $(this).css("background","lightgreen");
        $('.navbar-collapse').collapse('hide');
    });
    new WOW().init();

    //验证用户添加表单字段
    function registerFormValidator(){

        $('#registerForm').bootstrapValidator({
            feedbackIcons : {
                valid : 'glyphicon glyphicon-ok',
                invalid : 'glyphicon glyphicon-remove',
                validating : 'glyphicon glyphicon-refresh'
            },
            fields : {

                "userInfo.userName" : {
                    validators : {
                        notEmpty : {
                            message : "昵称不能为空",
                        }
                    }
                },"userInfo.userTel" : {
                    validators : {
                        notEmpty : {
                            message : "联系电话不能为空",
                        },
                        regexp : {
                            regexp : /^1(3|4|5|6|7|8|9)\d{9}$/,
                            message : '电话格式不正确'
                        }
                    }
                },
                "userSms" : {
                    validators : {
                        notEmpty : {
                            message : "验证码不能为空",
                        },stringLength: {
                            min: 4,
                            max: 4,
                            message: '请输入四位验证码'
                        },
                        threshold : 3 ,
                        remote: {
                            //发起Ajax请求。
                            url: "/UserInfo/checkSmsCode",//验证地址
                            data : function(validator) {
                                return {
                                    userTel : $("#userSmsTel").val(),
                                    checkCode : $("#userSms").val()//
                                };
                            },
                            message: '验证码错误',//提示消息
                            delay :  1000,//设置1秒发起名字验证
                            type: 'POST' //请求方式
                        }
                    }
                },
                "userInfo.userPwd" : {
                    validators : {
                        notEmpty : {
                            message : "登录密码不能为空",
                        },
                        regexp : {
                            regexp : /^(\w){6,20}$/,
                            message : '密码只能由6-20个字母、数字、下划线组成'
                        }
                    }
                },
                "userInfo.confirmPassword" : {
                    validators : {
                        notEmpty : {
                            message : "验证密码不能为空",
                        },
                        regexp : {
                            regexp : /^(\w){6,20}$/,
                            message : '密码只能由6-20个字母、数字、下划线组成'
                        },identical: {
                            field: 'userInfo.userPwd',
                            message: '2次密码不一致'
                        }
                    }
                },
                "userInfo.userEmail" : {
                    validators : {
                        notEmpty : {
                            message : "电子邮箱不能为空",
                        },
                        regexp : {
                            regexp : /^([a-zA-Z]|[0-9])(\w|\-)+@[a-zA-Z0-9]+\.([a-zA-Z]{2,4})$/,
                            message : '电子邮箱格式不正确'
                        }
                    }
                },

                "userInfo.userBirthday" : {
                    validators : {
                        notEmpty : {
                            message : "出生日期不能为空",
                        }
                    }
                },
                "userInfo.userAddress" : {
                    validators : {
                        notEmpty : {
                            message : "家庭地址不能为空",
                        }
                    }
                },
            }
        });
    }
    function loginFormValidator(){
        //验证登录输入loginDialog
        $('#loginForm').bootstrapValidator({
            feedbackIcons : {
                valid : 'glyphicon glyphicon-ok',
                invalid : 'glyphicon glyphicon-remove',
                validating : 'glyphicon glyphicon-refresh'
            },
            fields : {
                "login_username" : {
                    validators : {
                        notEmpty : {
                            message : "联系电话不能为空",
                        },
                        regexp : {
                            regexp : /^1(3|4|5|6|7|8|9)\d{9}$/,
                            message : '电话格式不正确'
                        }
                    }
                },
                "login_password" : {
                    validators : {
                        notEmpty : {
                            message : "登录密码不能为空",
                        },
                        regexp : {
                            regexp : /^(\w){6,20}$/,
                            message : '密码只能由6-20个字母、数字、下划线组成'
                        }
                    }
                },
                "login_authCode" : {
                    validators : {
                        notEmpty : {
                            message : "验证码不能为空",
                        },stringLength: {
                            min: 4,
                            max: 4,
                            message: '请输入四位验证码'
                        },
                        remote: {
                            //发起Ajax请求。
                            url: "/UserInfo/checkAuthCode",//验证地址
                            data:{checkcode:$('input[name="login_authCode"]').val() },
                            message: '验证码错误',//提示消息
                            delay :  1000,//设置1秒发起名字验证
                            type: 'POST' //请求方式
                        }
                    }
                }
            }
        });

        //出生日期组件
        $('#userInfo_user_birthdayDiv_header').datetimepicker({
            language:  'zh-CN',  //显示语言
            format: 'yyyy-mm-dd',
            minView: 2,
            weekStart: 1,
            todayBtn:  1,
            autoclose: 1,
            minuteStep: 1,
            todayHighlight: 1,
            startView: 2,
            forceParse: 0
        }).on('hide',function(e) {
            //下面这行代码解决日期组件改变日期后不验证的问题
            $('#registerForm').data('bootstrapValidator').updateStatus('userInfo.userBirthday', 'NOT_VALIDATED',null).validateField('userInfo.userBirthday');
        });
    }
});